///////////////////////////////////////传值、传引用效率比较
//#include <time.h>
//struct A { int a[10000]; };
//void TestFunc1(A a) {}
//void TestFunc2(A& a) {}
//void TestRefAndValue()
//{
//	A a;
//	// 以值作为函数参数

//	size_t begin1 = clock();
//	for (size_t i = 0; i < 10000; ++i)
//		TestFunc1(a);
//	size_t end1 = clock();
//	// 以引用作为函数参数
//	size_t begin2 = clock();
//	for (size_t i = 0; i < 10000; ++i)
//		TestFunc2(a);
//	size_t end2 = clock();
//	// 分别计算两个函数运行结束后的时间
//	cout << "TestFunc1(A)-time:" << end1 - begin1 << endl;
//	cout << "TestFunc2(A&)-time:" << end2 - begin2 << endl;
//}


//#include<iostream>
//using namespace std;
//inline int add(int left, int right)
//{
//	return left + right;
//}
//int main()
//{
//	int ret = 0;
//	ret = add(1, 2);
//	return 0;
//}

//#include<iostream>
//using namespace std;
//class Date
//{
//public:
//	Date(int year = 1, int month = 1, int day = 1)
//	{
//		_year = year;
//		_month = month;
//		_day = day;
//	}
//	// d1 < d2 -> d1.operator<(d2);
//	bool operator<(const Date& d)
//	{
//		if (this->_year < d._year)
//		{
//			return true;
//		}
//		else if (this->_year == d._year)
//		{
//			if (this->_month < d._month)
//			{
//				return true;
//			}
//			else if (_month == d._month)
//			{
//				if (_day < d._day)
//				{
//					return true;
//				}
//			}
//		}
//		return false;
//	}
//
//	// d1 = d2
//	void operator=(const Date& rd)
//	{
//		_year = rd._year;
//		_month = rd._month;
//		_day = rd._day;
//	}
//	void Print()
//	{
//		cout << _year << "/" << _month << "/" << _day << endl;
//	}
//
//private:
//	int _year;
//	int _month;
//	int _day;
//};
//int main()
//{
//	Date d1(2024, 5, 13);
//	Date d2(2024, 5, 12);
//
//	bool ret1 = d1 < d2;
//	bool ret2 = d1.operator<(d2);
//
//	Date d3(d1);//拷贝构造 同类型一个存在的对象进行初始化要创建的对象
//	d1 = d2;//已经存在的对象，一个拷贝赋值给另一个
//
//	d1.Print();
//	d2.Print();
//
//	return 0;
//}
